package aufgabe_02;

//Datei: Warenlager.java
public class Warenlager {
	protected Ware[] arr;

	protected Warenlager() {
	}

	protected Warenlager(int max) {
		arr = new Ware[max];
	}

	// Die Methode aufnehmen() kann neue, noch nicht im Lager enthal-
	// tenen Waren aufnehmen. Sie kann aber auch zu einer schon im
	// Lager vorhandenen Ware die Anzahl der vorhandenen Elemente
	// erhoehen. Das Array wird beginnend vom Index 0 ab gefuellt.
	// Die freien Array-Elemente zeigen auf die null-Referenz.
	public int aufnehmen(Ware ref, int anzahl) {
		if (arr[arr.length - 1] != null)
			return -1; // Warenlager voll!
		for (int i = 0; i < arr.length; i++) {
			if (arr[i] == null) // Erstes freies Feld gefunden - die
			{ // Ware ist somit noch nicht vorhanden
				arr[i] = ref;
				arr[i].stueckzahlErhoehen(anzahl);
				break;
			}
			// Pruefen ob die Ware schon vorhanden ist.
			else if (ref.getWarenId() == arr[i].getWarenId()) {
				ref.stueckzahlErhoehen(anzahl);
				break;
			}
		}
		return 1;
	}

	public void print() {
		for (int i = 0; i < arr.length && arr[i] != null; i++)
			arr[i].print();
	}
}
